home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / mmdf / mmdf-IIb.43 / lib / util / multcat.c < prev    next >
Encoding:
C/C++ Source or Header  |  1986-05-21  |  652 b   |  32 lines

  1. #include "util.h"
  2. #include <varargs.h>
  3.  
  4. /*                                                                      */
  5. /*              Concatenate a series of arrays                          */
  6.  
  7. /*VARARGS0*/
  8. char *multcat (va_alist)
  9. va_dcl
  10. {
  11.     register va_list ap;
  12.     register char  *oldstr, *ptr;
  13.     char    *newstr;
  14.     extern char *malloc();
  15.     unsigned  newlen;
  16.  
  17.     va_start(ap);
  18.     for (newlen = 1; oldstr = va_arg(ap, char *);)
  19.         newlen += strlen (oldstr);
  20.     va_end(ap);
  21.  
  22.     if ((ptr = newstr = malloc (newlen+1)) == 0)
  23.         return((char *)0);
  24.  
  25.     va_start(ap);
  26.     for (; oldstr = va_arg(ap, char *); ptr--)
  27.         while(*ptr++ = *oldstr++);
  28.     va_end(ap);
  29.  
  30.     return (newstr);
  31. }
  32.